package Thread;

public class Demo10 {
    public static void main(String[] args) {
        Thread t = new Thread(()->{
            //这个代码是在lambda中（也就是在 t线程的入口方法中） 调用的
            //返回结果就是 t
           // System.out.println("t:"+ Thread.currentThread().getName());
            while (!Thread.currentThread().isInterrupted()){
                System.out.println("这是直接使用isInterrupted()方法来终止线程 hallo thread");
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    //这个线程掀桌了
                    //throw new RuntimeException(e);
                    //1.加上 break 就是立即终止
                    //2. 啥都不写 就是不终止
                    //3.catc 中先执行一些其他逻辑在break，就是稍后终止
                    break;
                }
            }
            System.out.println("t 结束");
        });
        t.start();
        try {
            Thread .sleep(3000);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
        System.out.println("主线程 main 线程尝试终止 t 进程");
        t.interrupt();
        //这个代码是在 main 方法中调用的，此时返回结果就是 main
        System.out.println("main："+Thread.currentThread().getName());

    }
}
